package com.etc.testio;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author: knowno
 * @create: 2024-09-12 14:16
 * @Version 1.0
 **/
public class FileCopy {

    public static void main(String[] args) {
        copyFile("G:\\01-诚毅软工21-后端1班\\2-授课期\\1-标准化教案\\第1周Java面向对象和常见API.rar", "G:\\01-诚毅软工21-后端1班\\第1周Java面向对象和常见API.rar");
    }

    /**
     * @param src  原文件的位置[完整路径]G:\01-诚毅软工21-后端1班\2-授课期\1-标准化教案\第1周Java面向对象和常见API.rar
     * @param dest 目标位置[完整路径] G:\01-诚毅软工21-后端1班\第1周Java面向对象和常见API.rar
     */
    public static void copyFile(String src, String dest) {
        FileInputStream fileInputStream = null;
        FileOutputStream fileOutputStream = null;
        try {
            //创建输入流
            fileInputStream = new FileInputStream(src);
            //创建输出流
            fileOutputStream = new FileOutputStream(dest);

            //自定义一个数组，长度设置为1024
            byte[] b = new byte[1024];

            int len = 0;
            //通过输入流读取数据
            while ((len = fileInputStream.read(b)) != -1) {
                //就要将这个字节数组写入目标位置
                fileOutputStream.write(b, 0, len);
            }
            System.out.println("复制成功!");


        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {

            //释放资源
            try {
                fileInputStream.close();
                fileOutputStream.close();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }

        }

    }
}
